class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& g) {
        sort(g.begin(),g.end());
        vector<vector<int>> ret;
        int left=g[0][0];
        int right=g[0][1];
        for(int i=0;i<g.size();i++)
        {
            if(right>=g[i][0])
                right=max(right,g[i][1]);
            else
            {
                ret.push_back({left,right});
                left=g[i][0];
                right=g[i][1];
            }
        }
        ret.push_back({left,right});
        return ret;
    }
};
